package org.dromara.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.system.domain.SalesData;

import java.io.Serial;
import java.io.Serializable;


/**
 * 销售数据信息视图对象 t_sales_data
 *
 * @author joker
 * @date 2025-05-05
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SalesData.class)
public class SalesDataVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 销售ID
     */
    private Long salesId;

    /**
     * 店铺ID
     */
    private Long storeId;

    /**
     * 销售时间
     */
    @ExcelProperty(value = "销售时间")
    private String salesTime;

    /**
     * 店铺
     */
    @ExcelProperty(value = "店铺")
    private String storeName;

    /**
     * 卡品名称
     */
    @ExcelProperty(value = "卡品名称")
    private String productName;

    /**
     * 销售数量
     */
    @ExcelProperty(value = "销售数量")
    private Long salesQuantity;

    /**
     * 单品佣金
     */
    @ExcelProperty(value = "单品佣金")
    private Long singleItemCommission;

    /**
     * 佣金（激活量*单品佣金）
     */
    @ExcelProperty(value = "佣金")
    private Long commissionMoney;

    /**
     * 平台服务费（销售总数*3.5）
     */
    @ExcelProperty(value = "平台服务费")
    private Long platformServiceFee;

    /**
     * 订单发出数（发货、首充、激活）
     */
    @ExcelProperty(value = "订单发出数")
    private Long orderDispatchedNumber;

    /**
     * 激活量（已激活，已首充）
     */
    @ExcelProperty(value = "激活量")
    private Long activationQuantity;

    /**
     * 发货率（订单发出数/销售数量）
     */
    @ExcelProperty(value = "发货率")
    private Long shipmentRate;

    /**
     * 发货激活率（激活量/订单发出数）
     */
    @ExcelProperty(value = "发货激活率")
    private Long shipmentActivationRate;

    /**
     * 激活率（激活量/销售数）
     */
    @ExcelProperty(value = "激活率")
    private Long activationRate;

    /**
     * 待发货数量（待发货、审核中、异常单）
     */
    @ExcelProperty(value = "待发货数量")
    private Long shippedQuantity;

    /**
     * 备注
     */
    private String remark;


}
